Články

Navigačný panel

Začíname s Perl časť 2.

V prvom dieli sme si povedali niečo o základoch programovania v tomto jazyku. Teraz si ukážeme nejaké tie tipy a triky.



Čítanie zo vstupu

K získaniu vstupných dát sa v programoch Perl používa konštrukcia nazvanú diamantový operátor. Ten vypadá takto:
< >
Diamantový operátor môžeme jednoducho priradiť k premennej ako ich hodnotu. Pri behu programu potom bude úžívateľ zadávat hodnoty, ktoré zadá z klávesnice.
Diamantový operátor vo vyžšie uvedenej podobe síce plní svoju funkciu, ale umožnuje užívateľovi tiež jednu vec, ktorá sa nám nemusí vždy páčiť. Ide o predávanie hodnôt nie z klávesnice, ale z daľších súborov, ktoré pri spúštaní programu zadáme ako parameter. Pokiaľ sa tomuto chcete vyhnúť a zaújima vás iba vstup z klávesnice, zadajte diamantový operátor v podobe . Teda napríklad:
$a = <STDIN> ;
Pri vstupe z klávesnice, alebo presnejšie z štrandardného vstupu (STDIN = Strandard Input) je nutné potvrdiť zadávané hodnoty klávesou ENTER, inak by ich program samozrejme neprijal. Viacmenej stlačenie klávesy ENTER, sa tiež spracuje v programe tak, že je tiež uvedená v premennej, a to ako znak na konci riadku. Aby sme ju odstránili použijeme funkciu chomp() :
$a = <STDIN> ;
chomp($a);
Nasledujúci príkaz sa často míli s príkazom predošlím ktorí zmaže "novy riadok" na konci retazca, zatiaľ čo tento zmaže posledný akykovľek znak. Syntax je takmer rovnaká:
$a = "hocijaky text"; chop($a);
Ak to spustíme, tak v premennej $a bude už len text: "hocijaky tex".

Úprava textu / retazcov

Ak chcete previesť nejaký retazec v ktorom su veľké písmena, môžme použiť funkciu lc() :
$a = lc("NEJAKY TEXT");
Ak si premennú potom vypíšeme, bude v nej: "nejaky text".

To isté, ale naopak. Ak chceme previesť retazec s malímy písmenamy na veľke, použijeme funkciu: uc() :
$a = uc("nejaky text");
Sme si ukázali ake previesť veľke na malé písmena a naopak. Ale co ak chceme iba prve písmeno? Na to slúži funkcia podobna a zároven aj logická: "lsfirst()" a "ucfirst()". Uvedieme si malý príklad:
$a = ucfirst("nejaky text");
$b = lcfirst("NEJAKY text");
Aby sme zistili dĺžku retazca, použijeme funkciu: "length()". Ta nám vráti číslo zodpovedajúce celej dĺžke retazca:
$a = length("nejaky text");
Retazce a čísla naraz? Do premennej môžeme napríklad veľmi jednoducho priradiť hodnotu "5 aut" nasledujúcim spôsobom:
$patka = 5;
$text = $patka." aut";


Príspevok pridaný dňa: 02.10.2011 od užívatela: Dodoslav.
Zanechat komentár:

Nick:

Správa: